// $ANTLR 3.x C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g 2013-02-07 09:20:18
package it.uniroma2.art.owlart.model.syntax.manchester;

import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;

@SuppressWarnings("all")
public class ManchOwlParserCheckParser extends Parser {
	public static final String[] tokenNames = new String[] {
		"<invalid>", "<EOR>", "<DOWN>", "<UP>", "AND_LABEL", "CHARS", "CHAR_CLASS", "CHAR_L", "CHAR_PROPERTY", "CHAR_U", "CLOSE_BRACE", "CLOSE_CURLY_BRACE", "COMMA", "DDOTS", "DIGITS", "DOT", "EXACTLY_LABEL", "GREATER", "GREATER_EQUAL", "INVERSE_LABEL", "LESS", "LESS_EQUAL", "MAX_LABEL", "MINUS", "MIN_LABEL", "NOT_LABEL", "ONLY_LABEL", "OPEN_BRACE", "OPEN_CURLY_BRACE", "OR_LABEL", "PLUS", "PREFIX_NAME", "SELF_LABEL", "SOME_LABEL", "SPACE", "THAT_LABEL", "UNDERSCORE", "VALUE_LABEL"
	};

	public static final int EOF=-1;
	public static final int AND_LABEL=4;
	public static final int CHARS=5;
	public static final int CHAR_CLASS=6;
	public static final int CHAR_L=7;
	public static final int CHAR_PROPERTY=8;
	public static final int CHAR_U=9;
	public static final int CLOSE_BRACE=10;
	public static final int CLOSE_CURLY_BRACE=11;
	public static final int COMMA=12;
	public static final int DDOTS=13;
	public static final int DIGITS=14;
	public static final int DOT=15;
	public static final int EXACTLY_LABEL=16;
	public static final int GREATER=17;
	public static final int GREATER_EQUAL=18;
	public static final int INVERSE_LABEL=19;
	public static final int LESS=20;
	public static final int LESS_EQUAL=21;
	public static final int MAX_LABEL=22;
	public static final int MINUS=23;
	public static final int MIN_LABEL=24;
	public static final int NOT_LABEL=25;
	public static final int ONLY_LABEL=26;
	public static final int OPEN_BRACE=27;
	public static final int OPEN_CURLY_BRACE=28;
	public static final int OR_LABEL=29;
	public static final int PLUS=30;
	public static final int PREFIX_NAME=31;
	public static final int SELF_LABEL=32;
	public static final int SOME_LABEL=33;
	public static final int SPACE=34;
	public static final int THAT_LABEL=35;
	public static final int UNDERSCORE=36;
	public static final int VALUE_LABEL=37;

	// delegates
	public Parser[] getDelegates() {
		return new Parser[] {};
	}

	// delegators


	public ManchOwlParserCheckParser(TokenStream input) {
		this(input, new RecognizerSharedState());
	}
	public ManchOwlParserCheckParser(TokenStream input, RecognizerSharedState state) {
		super(input, state);
		this.state.ruleMemo = new HashMap[42+1];
		 

	}

	@Override public String[] getTokenNames() { return ManchOwlParserCheckParser.tokenNames; }
	@Override public String getGrammarFileName() { return "C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g"; }


	@Override
	public void reportError(RecognitionException e) {
		String msg = "Parser error: ";
		
		
		 msg+="line "+e.line+":"+e.charPositionInLine+" ";
	         if ( e instanceof UnwantedTokenException ) {
	               UnwantedTokenException ute = (UnwantedTokenException)e;
	               String tokenName="<unknown>";
	               if ( ute.expecting== Token.EOF ) {
	                     tokenName = "EOF";
	               }
	               else {
	                     tokenName = tokenNames[ute.expecting];
	               }
	               msg += "extraneous input "+getTokenErrorDisplay(ute.getUnexpectedToken())+
	                     " expecting "+tokenName;
	         }
	         else if ( e instanceof MissingTokenException ) {
	               MissingTokenException mte = (MissingTokenException)e;
	               String tokenName="<unknown>";
	               if ( mte.expecting== Token.EOF ) {
	                     tokenName = "EOF";
	               }
	               else {
	                     tokenName = tokenNames[mte.expecting];
	               }
	               msg += "missing "+tokenName+" at "+getTokenErrorDisplay(e.token);
	         }
	         else if ( e instanceof MismatchedTokenException ) {
	               MismatchedTokenException mte = (MismatchedTokenException)e;
	               String tokenName="<unknown>";
	               if ( mte.expecting== Token.EOF ) {
	                     tokenName = "EOF";
	               }
	               else {
	                     tokenName = tokenNames[mte.expecting];
	               }
	               msg += "mismatched input "+getTokenErrorDisplay(e.token)+
	                     " expecting "+tokenName;
	         }
	         else if ( e instanceof MismatchedTreeNodeException ) {
	               MismatchedTreeNodeException mtne = (MismatchedTreeNodeException)e;
	               String tokenName="<unknown>";
	               if ( mtne.expecting==Token.EOF ) {
	                     tokenName = "EOF";
	               }
	               else {
	                     tokenName = tokenNames[mtne.expecting];
	               }
	               msg += "mismatched tree node: "+mtne.node+
	                     " expecting "+tokenName;
	         }
	         else if ( e instanceof NoViableAltException ) {
	               //NoViableAltException nvae = (NoViableAltException)e;
	               // for development, can add "decision=<<"+nvae.grammarDecisionDescription+">>"
	               // and "(decision="+nvae.decisionNumber+") and
	               // "state "+nvae.stateNumber
	               msg += "no viable alternative at input "+getTokenErrorDisplay(e.token);
	         }
	         else if ( e instanceof EarlyExitException ) {
	               //EarlyExitException eee = (EarlyExitException)e;
	               // for development, can add "(decision="+eee.decisionNumber+")"
	               msg += "required (...)+ loop did not match anything at input "+
	                     getTokenErrorDisplay(e.token);
	         }
	         else if ( e instanceof MismatchedSetException ) {
	               MismatchedSetException mse = (MismatchedSetException)e;
	               msg += "mismatched input "+getTokenErrorDisplay(e.token)+
	                     " expecting set "+mse.expecting;
	         }
	         else if ( e instanceof MismatchedNotSetException ) {
	               MismatchedNotSetException mse = (MismatchedNotSetException)e;
	               msg += "mismatched input "+getTokenErrorDisplay(e.token)+
	                     " expecting set "+mse.expecting;
	         }
	         else if ( e instanceof FailedPredicateException ) {
	               FailedPredicateException fpe = (FailedPredicateException)e;
	               msg += "rule "+fpe.ruleName+" failed predicate: {"+
	                     fpe.predicateText+"}?";
	         }
		
		
		
		throw new IllegalArgumentException(msg);
		}





	// $ANTLR start "classExpression"
	// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:165:1: classExpression : description EOF ;
	public final void classExpression() throws RecognitionException {
		int classExpression_StartIndex = input.index();

		try {
			if ( state.backtracking>0 && alreadyParsedRule(input, 1) ) { return ; }

			// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:167:2: ( description EOF )
			// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:168:4: description EOF
			{
			pushFollow(FOLLOW_description_in_classExpression397);
			description();
			state._fsp--;
			if (state.failed) return ;
			match(input,EOF,FOLLOW_EOF_in_classExpression403); if (state.failed) return ;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
			if ( state.backtracking>0 ) { memoize(input, 1, classExpression_StartIndex); }

		}
		return ;
	}
	// $ANTLR end "classExpression"



	// $ANTLR start "description"
	// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:173:1: description : conjunction ( OR_LABEL conjunction )* ;
	public final void description() throws RecognitionException {
		int description_StartIndex = input.index();

		try {
			if ( state.backtracking>0 && alreadyParsedRule(input, 2) ) { return ; }

			// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:175:3: ( conjunction ( OR_LABEL conjunction )* )
			// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:176:3: conjunction ( OR_LABEL conjunction )*
			{
			pushFollow(FOLLOW_conjunction_in_description422);
			conjunction();
			state._fsp--;
			if (state.failed) return ;
			// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:177:3: ( OR_LABEL conjunction )*
			loop1:
			do {
				int alt1=2;
				int LA1_0 = input.LA(1);
				if ( (LA1_0==OR_LABEL) ) {
					alt1=1;
				}

				switch (alt1) {
				case 1 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:177:4: OR_LABEL conjunction
					{
					match(input,OR_LABEL,FOLLOW_OR_LABEL_in_description428); if (state.failed) return ;
					pushFollow(FOLLOW_conjunction_in_description430);
					conjunction();
					state._fsp--;
					if (state.failed) return ;
					}
					break;

				default :
					break loop1;
				}
			} while (true);

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
			if ( state.backtracking>0 ) { memoize(input, 2, description_StartIndex); }

		}
		return ;
	}
	// $ANTLR end "description"



	// $ANTLR start "conjunction"
	// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:181:1: conjunction : ( classURI THAT_LABEL )? primary ( AND_LABEL primary )* ;
	public final void conjunction() throws RecognitionException {
		int conjunction_StartIndex = input.index();

		try {
			if ( state.backtracking>0 && alreadyParsedRule(input, 3) ) { return ; }

			// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:183:3: ( ( classURI THAT_LABEL )? primary ( AND_LABEL primary )* )
			// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:184:3: ( classURI THAT_LABEL )? primary ( AND_LABEL primary )*
			{
			// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:184:3: ( classURI THAT_LABEL )?
			int alt2=2;
			int LA2_0 = input.LA(1);
			if ( (LA2_0==PREFIX_NAME) ) {
				int LA2_1 = input.LA(2);
				if ( (LA2_1==CHAR_CLASS) ) {
					int LA2_4 = input.LA(3);
					if ( (LA2_4==THAT_LABEL) ) {
						alt2=1;
					}
				}
			}
			else if ( (LA2_0==CHAR_CLASS) ) {
				int LA2_2 = input.LA(2);
				if ( (LA2_2==THAT_LABEL) ) {
					alt2=1;
				}
			}
			switch (alt2) {
				case 1 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:184:4: classURI THAT_LABEL
					{
					pushFollow(FOLLOW_classURI_in_conjunction453);
					classURI();
					state._fsp--;
					if (state.failed) return ;
					match(input,THAT_LABEL,FOLLOW_THAT_LABEL_in_conjunction455); if (state.failed) return ;
					}
					break;

			}

			pushFollow(FOLLOW_primary_in_conjunction460);
			primary();
			state._fsp--;
			if (state.failed) return ;
			// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:185:5: ( AND_LABEL primary )*
			loop3:
			do {
				int alt3=2;
				int LA3_0 = input.LA(1);
				if ( (LA3_0==AND_LABEL) ) {
					alt3=1;
				}

				switch (alt3) {
				case 1 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:185:6: AND_LABEL primary
					{
					match(input,AND_LABEL,FOLLOW_AND_LABEL_in_conjunction468); if (state.failed) return ;
					pushFollow(FOLLOW_primary_in_conjunction470);
					primary();
					state._fsp--;
					if (state.failed) return ;
					}
					break;

				default :
					break loop3;
				}
			} while (true);

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
			if ( state.backtracking>0 ) { memoize(input, 3, conjunction_StartIndex); }

		}
		return ;
	}
	// $ANTLR end "conjunction"



	// $ANTLR start "primary"
	// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:188:1: primary : ( ( NOT_LABEL )? ( OPEN_BRACE restriction CLOSE_BRACE | restriction ) | ( NOT_LABEL )? ( OPEN_BRACE atomic CLOSE_BRACE | atomic ) );
	public final void primary() throws RecognitionException {
		int primary_StartIndex = input.index();

		try {
			if ( state.backtracking>0 && alreadyParsedRule(input, 4) ) { return ; }

			// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:190:3: ( ( NOT_LABEL )? ( OPEN_BRACE restriction CLOSE_BRACE | restriction ) | ( NOT_LABEL )? ( OPEN_BRACE atomic CLOSE_BRACE | atomic ) )
			int alt8=2;
			switch ( input.LA(1) ) {
			case NOT_LABEL:
				{
				int LA8_1 = input.LA(2);
				if ( (synpred6_ManchOwlParserCheck()) ) {
					alt8=1;
				}
				else if ( (true) ) {
					alt8=2;
				}
				else {
					if (state.backtracking>0) {state.failed=true; return ;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 8, 1, input);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}
				}
				break;
			case OPEN_BRACE:
				{
				int LA8_2 = input.LA(2);
				if ( (synpred6_ManchOwlParserCheck()) ) {
					alt8=1;
				}
				else if ( (true) ) {
					alt8=2;
				}
				else {
					if (state.backtracking>0) {state.failed=true; return ;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 8, 2, input);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}
				}
				break;
			case PREFIX_NAME:
				{
				int LA8_3 = input.LA(2);
				if ( (synpred6_ManchOwlParserCheck()) ) {
					alt8=1;
				}
				else if ( (true) ) {
					alt8=2;
				}
				else {
					if (state.backtracking>0) {state.failed=true; return ;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 8, 3, input);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}
				}
				break;
			case CHAR_PROPERTY:
			case INVERSE_LABEL:
				{
				alt8=1;
				}
				break;
			case CHAR_CLASS:
			case OPEN_CURLY_BRACE:
				{
				alt8=2;
				}
				break;
			default:
				if (state.backtracking>0) {state.failed=true; return ;}
				NoViableAltException nvae =
					new NoViableAltException("", 8, 0, input);
				throw nvae;
			}
			switch (alt8) {
				case 1 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:191:3: ( NOT_LABEL )? ( OPEN_BRACE restriction CLOSE_BRACE | restriction )
					{
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:191:3: ( NOT_LABEL )?
					int alt4=2;
					int LA4_0 = input.LA(1);
					if ( (LA4_0==NOT_LABEL) ) {
						alt4=1;
					}
					switch (alt4) {
						case 1 :
							// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:191:4: NOT_LABEL
							{
							match(input,NOT_LABEL,FOLLOW_NOT_LABEL_in_primary490); if (state.failed) return ;
							}
							break;

					}

					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:191:16: ( OPEN_BRACE restriction CLOSE_BRACE | restriction )
					int alt5=2;
					int LA5_0 = input.LA(1);
					if ( (LA5_0==OPEN_BRACE) ) {
						alt5=1;
					}
					else if ( (LA5_0==CHAR_PROPERTY||LA5_0==INVERSE_LABEL||LA5_0==PREFIX_NAME) ) {
						alt5=2;
					}
					else {
						if (state.backtracking>0) {state.failed=true; return ;}
						NoViableAltException nvae =
							new NoViableAltException("", 5, 0, input);
						throw nvae;
					}
					switch (alt5) {
						case 1 :
							// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:191:17: OPEN_BRACE restriction CLOSE_BRACE
							{
							match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_primary495); if (state.failed) return ;
							pushFollow(FOLLOW_restriction_in_primary497);
							restriction();
							state._fsp--;
							if (state.failed) return ;
							match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_primary499); if (state.failed) return ;
							}
							break;
						case 2 :
							// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:191:54: restriction
							{
							pushFollow(FOLLOW_restriction_in_primary503);
							restriction();
							state._fsp--;
							if (state.failed) return ;
							}
							break;

					}

					}
					break;
				case 2 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:192:6: ( NOT_LABEL )? ( OPEN_BRACE atomic CLOSE_BRACE | atomic )
					{
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:192:6: ( NOT_LABEL )?
					int alt6=2;
					int LA6_0 = input.LA(1);
					if ( (LA6_0==NOT_LABEL) ) {
						alt6=1;
					}
					switch (alt6) {
						case 1 :
							// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:192:7: NOT_LABEL
							{
							match(input,NOT_LABEL,FOLLOW_NOT_LABEL_in_primary512); if (state.failed) return ;
							}
							break;

					}

					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:192:19: ( OPEN_BRACE atomic CLOSE_BRACE | atomic )
					int alt7=2;
					int LA7_0 = input.LA(1);
					if ( (LA7_0==OPEN_BRACE) ) {
						int LA7_1 = input.LA(2);
						if ( (synpred8_ManchOwlParserCheck()) ) {
							alt7=1;
						}
						else if ( (true) ) {
							alt7=2;
						}
						else {
							if (state.backtracking>0) {state.failed=true; return ;}
							int nvaeMark = input.mark();
							try {
								input.consume();
								NoViableAltException nvae =
									new NoViableAltException("", 7, 1, input);
								throw nvae;
							} finally {
								input.rewind(nvaeMark);
							}
						}
					}
					else if ( (LA7_0==CHAR_CLASS||LA7_0==OPEN_CURLY_BRACE||LA7_0==PREFIX_NAME) ) {
						alt7=2;
					}
					else {
						if (state.backtracking>0) {state.failed=true; return ;}
						NoViableAltException nvae =
							new NoViableAltException("", 7, 0, input);
						throw nvae;
					}
					switch (alt7) {
						case 1 :
							// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:192:20: OPEN_BRACE atomic CLOSE_BRACE
							{
							match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_primary517); if (state.failed) return ;
							pushFollow(FOLLOW_atomic_in_primary519);
							atomic();
							state._fsp--;
							if (state.failed) return ;
							match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_primary521); if (state.failed) return ;
							}
							break;
						case 2 :
							// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:192:52: atomic
							{
							pushFollow(FOLLOW_atomic_in_primary525);
							atomic();
							state._fsp--;
							if (state.failed) return ;
							}
							break;

					}

					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
			if ( state.backtracking>0 ) { memoize(input, 4, primary_StartIndex); }

		}
		return ;
	}
	// $ANTLR end "primary"



	// $ANTLR start "propertyExpression"
	// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:196:1: propertyExpression : ( propertyURI | inverseProperty );
	public final void propertyExpression() throws RecognitionException {
		int propertyExpression_StartIndex = input.index();

		try {
			if ( state.backtracking>0 && alreadyParsedRule(input, 5) ) { return ; }

			// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:198:3: ( propertyURI | inverseProperty )
			int alt9=2;
			int LA9_0 = input.LA(1);
			if ( (LA9_0==CHAR_PROPERTY||LA9_0==PREFIX_NAME) ) {
				alt9=1;
			}
			else if ( (LA9_0==INVERSE_LABEL) ) {
				alt9=2;
			}
			else {
				if (state.backtracking>0) {state.failed=true; return ;}
				NoViableAltException nvae =
					new NoViableAltException("", 9, 0, input);
				throw nvae;
			}
			switch (alt9) {
				case 1 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:199:3: propertyURI
					{
					pushFollow(FOLLOW_propertyURI_in_propertyExpression546);
					propertyURI();
					state._fsp--;
					if (state.failed) return ;
					}
					break;
				case 2 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:200:5: inverseProperty
					{
					pushFollow(FOLLOW_inverseProperty_in_propertyExpression552);
					inverseProperty();
					state._fsp--;
					if (state.failed) return ;
					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
			if ( state.backtracking>0 ) { memoize(input, 5, propertyExpression_StartIndex); }

		}
		return ;
	}
	// $ANTLR end "propertyExpression"



	// $ANTLR start "restriction"
	// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:203:1: restriction : o= propertyExpression ( ( SOME_LABEL primary ) | ( ONLY_LABEL primary ) | ( VALUE_LABEL individualURI ) | ( SELF_LABEL ) | ( MIN_LABEL nonNegativeInteger SPACE primary ) | ( MAX_LABEL nonNegativeInteger SPACE primary ) | ( EXACTLY_LABEL nonNegativeInteger SPACE primary ) | ( MIN_LABEL nonNegativeInteger ) | ( MAX_LABEL nonNegativeInteger ) | ( EXACTLY_LABEL nonNegativeInteger ) ) ;
	public final void restriction() throws RecognitionException {
		int restriction_StartIndex = input.index();

		try {
			if ( state.backtracking>0 && alreadyParsedRule(input, 6) ) { return ; }

			// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:205:3: (o= propertyExpression ( ( SOME_LABEL primary ) | ( ONLY_LABEL primary ) | ( VALUE_LABEL individualURI ) | ( SELF_LABEL ) | ( MIN_LABEL nonNegativeInteger SPACE primary ) | ( MAX_LABEL nonNegativeInteger SPACE primary ) | ( EXACTLY_LABEL nonNegativeInteger SPACE primary ) | ( MIN_LABEL nonNegativeInteger ) | ( MAX_LABEL nonNegativeInteger ) | ( EXACTLY_LABEL nonNegativeInteger ) ) )
			// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:206:3: o= propertyExpression ( ( SOME_LABEL primary ) | ( ONLY_LABEL primary ) | ( VALUE_LABEL individualURI ) | ( SELF_LABEL ) | ( MIN_LABEL nonNegativeInteger SPACE primary ) | ( MAX_LABEL nonNegativeInteger SPACE primary ) | ( EXACTLY_LABEL nonNegativeInteger SPACE primary ) | ( MIN_LABEL nonNegativeInteger ) | ( MAX_LABEL nonNegativeInteger ) | ( EXACTLY_LABEL nonNegativeInteger ) )
			{
			pushFollow(FOLLOW_propertyExpression_in_restriction572);
			propertyExpression();
			state._fsp--;
			if (state.failed) return ;
			// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:207:3: ( ( SOME_LABEL primary ) | ( ONLY_LABEL primary ) | ( VALUE_LABEL individualURI ) | ( SELF_LABEL ) | ( MIN_LABEL nonNegativeInteger SPACE primary ) | ( MAX_LABEL nonNegativeInteger SPACE primary ) | ( EXACTLY_LABEL nonNegativeInteger SPACE primary ) | ( MIN_LABEL nonNegativeInteger ) | ( MAX_LABEL nonNegativeInteger ) | ( EXACTLY_LABEL nonNegativeInteger ) )
			int alt10=10;
			switch ( input.LA(1) ) {
			case SOME_LABEL:
				{
				alt10=1;
				}
				break;
			case ONLY_LABEL:
				{
				alt10=2;
				}
				break;
			case VALUE_LABEL:
				{
				alt10=3;
				}
				break;
			case SELF_LABEL:
				{
				alt10=4;
				}
				break;
			case MIN_LABEL:
				{
				int LA10_5 = input.LA(2);
				if ( (LA10_5==DIGITS) ) {
					int LA10_8 = input.LA(3);
					if ( (LA10_8==SPACE) ) {
						alt10=5;
					}
					else if ( (LA10_8==EOF||LA10_8==AND_LABEL||LA10_8==CLOSE_BRACE||LA10_8==OR_LABEL) ) {
						alt10=8;
					}
					else {
						if (state.backtracking>0) {state.failed=true; return ;}
						int nvaeMark = input.mark();
						try {
							for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++)
								input.consume();
							NoViableAltException nvae =
								new NoViableAltException("", 10, 8, input);
							throw nvae;
						} finally {
							input.rewind(nvaeMark);
						}
					}
				}
				else {
					if (state.backtracking>0) {state.failed=true; return ;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 10, 5, input);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}
				}
				break;
			case MAX_LABEL:
				{
				int LA10_6 = input.LA(2);
				if ( (LA10_6==DIGITS) ) {
					int LA10_9 = input.LA(3);
					if ( (LA10_9==SPACE) ) {
						alt10=6;
					}
					else if ( (LA10_9==EOF||LA10_9==AND_LABEL||LA10_9==CLOSE_BRACE||LA10_9==OR_LABEL) ) {
						alt10=9;
					}
					else {
						if (state.backtracking>0) {state.failed=true; return ;}
						int nvaeMark = input.mark();
						try {
							for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++)
								input.consume();
							NoViableAltException nvae =
								new NoViableAltException("", 10, 9, input);
							throw nvae;
						} finally {
							input.rewind(nvaeMark);
						}
					}
				}
				else {
					if (state.backtracking>0) {state.failed=true; return ;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 10, 6, input);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}
				}
				break;
			case EXACTLY_LABEL:
				{
				int LA10_7 = input.LA(2);
				if ( (LA10_7==DIGITS) ) {
					int LA10_10 = input.LA(3);
					if ( (LA10_10==SPACE) ) {
						alt10=7;
					}
					else if ( (LA10_10==EOF||LA10_10==AND_LABEL||LA10_10==CLOSE_BRACE||LA10_10==OR_LABEL) ) {
						alt10=10;
					}
					else {
						if (state.backtracking>0) {state.failed=true; return ;}
						int nvaeMark = input.mark();
						try {
							for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++)
								input.consume();
							NoViableAltException nvae =
								new NoViableAltException("", 10, 10, input);
							throw nvae;
						} finally {
							input.rewind(nvaeMark);
						}
					}
				}
				else {
					if (state.backtracking>0) {state.failed=true; return ;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 10, 7, input);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}
				}
				break;
			default:
				if (state.backtracking>0) {state.failed=true; return ;}
				NoViableAltException nvae =
					new NoViableAltException("", 10, 0, input);
				throw nvae;
			}
			switch (alt10) {
				case 1 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:207:7: ( SOME_LABEL primary )
					{
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:207:7: ( SOME_LABEL primary )
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:207:8: SOME_LABEL primary
					{
					match(input,SOME_LABEL,FOLLOW_SOME_LABEL_in_restriction581); if (state.failed) return ;
					pushFollow(FOLLOW_primary_in_restriction583);
					primary();
					state._fsp--;
					if (state.failed) return ;
					}

					}
					break;
				case 2 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:208:7: ( ONLY_LABEL primary )
					{
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:208:7: ( ONLY_LABEL primary )
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:208:8: ONLY_LABEL primary
					{
					match(input,ONLY_LABEL,FOLLOW_ONLY_LABEL_in_restriction594); if (state.failed) return ;
					pushFollow(FOLLOW_primary_in_restriction596);
					primary();
					state._fsp--;
					if (state.failed) return ;
					}

					}
					break;
				case 3 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:209:7: ( VALUE_LABEL individualURI )
					{
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:209:7: ( VALUE_LABEL individualURI )
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:209:8: VALUE_LABEL individualURI
					{
					match(input,VALUE_LABEL,FOLLOW_VALUE_LABEL_in_restriction607); if (state.failed) return ;
					pushFollow(FOLLOW_individualURI_in_restriction609);
					individualURI();
					state._fsp--;
					if (state.failed) return ;
					}

					}
					break;
				case 4 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:210:7: ( SELF_LABEL )
					{
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:210:7: ( SELF_LABEL )
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:210:8: SELF_LABEL
					{
					match(input,SELF_LABEL,FOLLOW_SELF_LABEL_in_restriction620); if (state.failed) return ;
					}

					}
					break;
				case 5 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:211:7: ( MIN_LABEL nonNegativeInteger SPACE primary )
					{
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:211:7: ( MIN_LABEL nonNegativeInteger SPACE primary )
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:211:8: MIN_LABEL nonNegativeInteger SPACE primary
					{
					match(input,MIN_LABEL,FOLLOW_MIN_LABEL_in_restriction630); if (state.failed) return ;
					pushFollow(FOLLOW_nonNegativeInteger_in_restriction632);
					nonNegativeInteger();
					state._fsp--;
					if (state.failed) return ;
					match(input,SPACE,FOLLOW_SPACE_in_restriction634); if (state.failed) return ;
					pushFollow(FOLLOW_primary_in_restriction636);
					primary();
					state._fsp--;
					if (state.failed) return ;
					}

					}
					break;
				case 6 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:212:7: ( MAX_LABEL nonNegativeInteger SPACE primary )
					{
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:212:7: ( MAX_LABEL nonNegativeInteger SPACE primary )
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:212:8: MAX_LABEL nonNegativeInteger SPACE primary
					{
					match(input,MAX_LABEL,FOLLOW_MAX_LABEL_in_restriction647); if (state.failed) return ;
					pushFollow(FOLLOW_nonNegativeInteger_in_restriction649);
					nonNegativeInteger();
					state._fsp--;
					if (state.failed) return ;
					match(input,SPACE,FOLLOW_SPACE_in_restriction651); if (state.failed) return ;
					pushFollow(FOLLOW_primary_in_restriction653);
					primary();
					state._fsp--;
					if (state.failed) return ;
					}

					}
					break;
				case 7 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:213:7: ( EXACTLY_LABEL nonNegativeInteger SPACE primary )
					{
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:213:7: ( EXACTLY_LABEL nonNegativeInteger SPACE primary )
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:213:8: EXACTLY_LABEL nonNegativeInteger SPACE primary
					{
					match(input,EXACTLY_LABEL,FOLLOW_EXACTLY_LABEL_in_restriction664); if (state.failed) return ;
					pushFollow(FOLLOW_nonNegativeInteger_in_restriction666);
					nonNegativeInteger();
					state._fsp--;
					if (state.failed) return ;
					match(input,SPACE,FOLLOW_SPACE_in_restriction668); if (state.failed) return ;
					pushFollow(FOLLOW_primary_in_restriction670);
					primary();
					state._fsp--;
					if (state.failed) return ;
					}

					}
					break;
				case 8 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:214:7: ( MIN_LABEL nonNegativeInteger )
					{
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:214:7: ( MIN_LABEL nonNegativeInteger )
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:214:8: MIN_LABEL nonNegativeInteger
					{
					match(input,MIN_LABEL,FOLLOW_MIN_LABEL_in_restriction681); if (state.failed) return ;
					pushFollow(FOLLOW_nonNegativeInteger_in_restriction683);
					nonNegativeInteger();
					state._fsp--;
					if (state.failed) return ;
					}

					}
					break;
				case 9 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:215:7: ( MAX_LABEL nonNegativeInteger )
					{
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:215:7: ( MAX_LABEL nonNegativeInteger )
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:215:8: MAX_LABEL nonNegativeInteger
					{
					match(input,MAX_LABEL,FOLLOW_MAX_LABEL_in_restriction694); if (state.failed) return ;
					pushFollow(FOLLOW_nonNegativeInteger_in_restriction696);
					nonNegativeInteger();
					state._fsp--;
					if (state.failed) return ;
					}

					}
					break;
				case 10 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:216:7: ( EXACTLY_LABEL nonNegativeInteger )
					{
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:216:7: ( EXACTLY_LABEL nonNegativeInteger )
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:216:8: EXACTLY_LABEL nonNegativeInteger
					{
					match(input,EXACTLY_LABEL,FOLLOW_EXACTLY_LABEL_in_restriction707); if (state.failed) return ;
					pushFollow(FOLLOW_nonNegativeInteger_in_restriction709);
					nonNegativeInteger();
					state._fsp--;
					if (state.failed) return ;
					}

					}
					break;

			}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
			if ( state.backtracking>0 ) { memoize(input, 6, restriction_StartIndex); }

		}
		return ;
	}
	// $ANTLR end "restriction"



	// $ANTLR start "atomic"
	// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:219:1: atomic : ( classURI | OPEN_CURLY_BRACE individualList CLOSE_CURLY_BRACE | ( OPEN_BRACE description CLOSE_BRACE )+ );
	public final void atomic() throws RecognitionException {
		int atomic_StartIndex = input.index();

		try {
			if ( state.backtracking>0 && alreadyParsedRule(input, 7) ) { return ; }

			// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:221:3: ( classURI | OPEN_CURLY_BRACE individualList CLOSE_CURLY_BRACE | ( OPEN_BRACE description CLOSE_BRACE )+ )
			int alt12=3;
			switch ( input.LA(1) ) {
			case CHAR_CLASS:
			case PREFIX_NAME:
				{
				alt12=1;
				}
				break;
			case OPEN_CURLY_BRACE:
				{
				alt12=2;
				}
				break;
			case OPEN_BRACE:
				{
				alt12=3;
				}
				break;
			default:
				if (state.backtracking>0) {state.failed=true; return ;}
				NoViableAltException nvae =
					new NoViableAltException("", 12, 0, input);
				throw nvae;
			}
			switch (alt12) {
				case 1 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:222:3: classURI
					{
					pushFollow(FOLLOW_classURI_in_atomic728);
					classURI();
					state._fsp--;
					if (state.failed) return ;
					}
					break;
				case 2 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:223:5: OPEN_CURLY_BRACE individualList CLOSE_CURLY_BRACE
					{
					match(input,OPEN_CURLY_BRACE,FOLLOW_OPEN_CURLY_BRACE_in_atomic735); if (state.failed) return ;
					pushFollow(FOLLOW_individualList_in_atomic737);
					individualList();
					state._fsp--;
					if (state.failed) return ;
					match(input,CLOSE_CURLY_BRACE,FOLLOW_CLOSE_CURLY_BRACE_in_atomic739); if (state.failed) return ;
					}
					break;
				case 3 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:224:5: ( OPEN_BRACE description CLOSE_BRACE )+
					{
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:224:5: ( OPEN_BRACE description CLOSE_BRACE )+
					int cnt11=0;
					loop11:
					do {
						int alt11=2;
						int LA11_0 = input.LA(1);
						if ( (LA11_0==OPEN_BRACE) ) {
							alt11=1;
						}

						switch (alt11) {
						case 1 :
							// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:224:6: OPEN_BRACE description CLOSE_BRACE
							{
							match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_atomic747); if (state.failed) return ;
							pushFollow(FOLLOW_description_in_atomic750);
							description();
							state._fsp--;
							if (state.failed) return ;
							match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_atomic752); if (state.failed) return ;
							}
							break;

						default :
							if ( cnt11 >= 1 ) break loop11;
							if (state.backtracking>0) {state.failed=true; return ;}
								EarlyExitException eee =
									new EarlyExitException(11, input);
								throw eee;
						}
						cnt11++;
					} while (true);

					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
			if ( state.backtracking>0 ) { memoize(input, 7, atomic_StartIndex); }

		}
		return ;
	}
	// $ANTLR end "atomic"



	// $ANTLR start "classURI"
	// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:227:1: classURI : ( PREFIX_NAME CHAR_CLASS | CHAR_CLASS );
	public final void classURI() throws RecognitionException {
		int classURI_StartIndex = input.index();

		try {
			if ( state.backtracking>0 && alreadyParsedRule(input, 8) ) { return ; }

			// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:229:3: ( PREFIX_NAME CHAR_CLASS | CHAR_CLASS )
			int alt13=2;
			int LA13_0 = input.LA(1);
			if ( (LA13_0==PREFIX_NAME) ) {
				alt13=1;
			}
			else if ( (LA13_0==CHAR_CLASS) ) {
				alt13=2;
			}
			else {
				if (state.backtracking>0) {state.failed=true; return ;}
				NoViableAltException nvae =
					new NoViableAltException("", 13, 0, input);
				throw nvae;
			}
			switch (alt13) {
				case 1 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:229:5: PREFIX_NAME CHAR_CLASS
					{
					match(input,PREFIX_NAME,FOLLOW_PREFIX_NAME_in_classURI769); if (state.failed) return ;
					match(input,CHAR_CLASS,FOLLOW_CHAR_CLASS_in_classURI772); if (state.failed) return ;
					}
					break;
				case 2 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:230:6: CHAR_CLASS
					{
					match(input,CHAR_CLASS,FOLLOW_CHAR_CLASS_in_classURI780); if (state.failed) return ;
					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
			if ( state.backtracking>0 ) { memoize(input, 8, classURI_StartIndex); }

		}
		return ;
	}
	// $ANTLR end "classURI"



	// $ANTLR start "individualList"
	// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:234:1: individualList : individualURI ( ( ( COMMA SPACE ) | COMMA | SPACE ) individualURI )* ;
	public final void individualList() throws RecognitionException {
		int individualList_StartIndex = input.index();

		try {
			if ( state.backtracking>0 && alreadyParsedRule(input, 9) ) { return ; }

			// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:236:3: ( individualURI ( ( ( COMMA SPACE ) | COMMA | SPACE ) individualURI )* )
			// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:237:3: individualURI ( ( ( COMMA SPACE ) | COMMA | SPACE ) individualURI )*
			{
			pushFollow(FOLLOW_individualURI_in_individualList800);
			individualURI();
			state._fsp--;
			if (state.failed) return ;
			// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:238:5: ( ( ( COMMA SPACE ) | COMMA | SPACE ) individualURI )*
			loop15:
			do {
				int alt15=2;
				int LA15_0 = input.LA(1);
				if ( (LA15_0==COMMA||LA15_0==SPACE) ) {
					alt15=1;
				}

				switch (alt15) {
				case 1 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:238:6: ( ( COMMA SPACE ) | COMMA | SPACE ) individualURI
					{
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:238:6: ( ( COMMA SPACE ) | COMMA | SPACE )
					int alt14=3;
					int LA14_0 = input.LA(1);
					if ( (LA14_0==COMMA) ) {
						int LA14_1 = input.LA(2);
						if ( (LA14_1==SPACE) ) {
							alt14=1;
						}
						else if ( (LA14_1==CHAR_CLASS||LA14_1==CHAR_PROPERTY||LA14_1==PREFIX_NAME) ) {
							alt14=2;
						}
						else {
							if (state.backtracking>0) {state.failed=true; return ;}
							int nvaeMark = input.mark();
							try {
								input.consume();
								NoViableAltException nvae =
									new NoViableAltException("", 14, 1, input);
								throw nvae;
							} finally {
								input.rewind(nvaeMark);
							}
						}
					}
					else if ( (LA14_0==SPACE) ) {
						alt14=3;
					}
					else {
						if (state.backtracking>0) {state.failed=true; return ;}
						NoViableAltException nvae =
							new NoViableAltException("", 14, 0, input);
						throw nvae;
					}
					switch (alt14) {
						case 1 :
							// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:238:7: ( COMMA SPACE )
							{
							// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:238:7: ( COMMA SPACE )
							// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:238:8: COMMA SPACE
							{
							match(input,COMMA,FOLLOW_COMMA_in_individualList809); if (state.failed) return ;
							match(input,SPACE,FOLLOW_SPACE_in_individualList811); if (state.failed) return ;
							}

							}
							break;
						case 2 :
							// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:238:21: COMMA
							{
							match(input,COMMA,FOLLOW_COMMA_in_individualList814); if (state.failed) return ;
							}
							break;
						case 3 :
							// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:238:27: SPACE
							{
							match(input,SPACE,FOLLOW_SPACE_in_individualList816); if (state.failed) return ;
							}
							break;

					}

					pushFollow(FOLLOW_individualURI_in_individualList820);
					individualURI();
					state._fsp--;
					if (state.failed) return ;
					}
					break;

				default :
					break loop15;
				}
			} while (true);

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
			if ( state.backtracking>0 ) { memoize(input, 9, individualList_StartIndex); }

		}
		return ;
	}
	// $ANTLR end "individualList"



	// $ANTLR start "nonNegativeInteger"
	// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:242:1: nonNegativeInteger : DIGITS ;
	public final void nonNegativeInteger() throws RecognitionException {
		int nonNegativeInteger_StartIndex = input.index();

		try {
			if ( state.backtracking>0 && alreadyParsedRule(input, 10) ) { return ; }

			// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:243:3: ( DIGITS )
			// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:244:3: DIGITS
			{
			match(input,DIGITS,FOLLOW_DIGITS_in_nonNegativeInteger840); if (state.failed) return ;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
			if ( state.backtracking>0 ) { memoize(input, 10, nonNegativeInteger_StartIndex); }

		}
		return ;
	}
	// $ANTLR end "nonNegativeInteger"



	// $ANTLR start "propertyURI"
	// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:247:1: propertyURI : ( PREFIX_NAME CHAR_PROPERTY | CHAR_PROPERTY );
	public final void propertyURI() throws RecognitionException {
		int propertyURI_StartIndex = input.index();

		try {
			if ( state.backtracking>0 && alreadyParsedRule(input, 11) ) { return ; }

			// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:249:3: ( PREFIX_NAME CHAR_PROPERTY | CHAR_PROPERTY )
			int alt16=2;
			int LA16_0 = input.LA(1);
			if ( (LA16_0==PREFIX_NAME) ) {
				alt16=1;
			}
			else if ( (LA16_0==CHAR_PROPERTY) ) {
				alt16=2;
			}
			else {
				if (state.backtracking>0) {state.failed=true; return ;}
				NoViableAltException nvae =
					new NoViableAltException("", 16, 0, input);
				throw nvae;
			}
			switch (alt16) {
				case 1 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:250:4: PREFIX_NAME CHAR_PROPERTY
					{
					match(input,PREFIX_NAME,FOLLOW_PREFIX_NAME_in_propertyURI858); if (state.failed) return ;
					match(input,CHAR_PROPERTY,FOLLOW_CHAR_PROPERTY_in_propertyURI861); if (state.failed) return ;
					}
					break;
				case 2 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:251:5: CHAR_PROPERTY
					{
					match(input,CHAR_PROPERTY,FOLLOW_CHAR_PROPERTY_in_propertyURI868); if (state.failed) return ;
					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
			if ( state.backtracking>0 ) { memoize(input, 11, propertyURI_StartIndex); }

		}
		return ;
	}
	// $ANTLR end "propertyURI"



	// $ANTLR start "inverseProperty"
	// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:254:1: inverseProperty : INVERSE_LABEL propertyURI ;
	public final void inverseProperty() throws RecognitionException {
		int inverseProperty_StartIndex = input.index();

		try {
			if ( state.backtracking>0 && alreadyParsedRule(input, 12) ) { return ; }

			// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:256:3: ( INVERSE_LABEL propertyURI )
			// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:257:3: INVERSE_LABEL propertyURI
			{
			match(input,INVERSE_LABEL,FOLLOW_INVERSE_LABEL_in_inverseProperty886); if (state.failed) return ;
			pushFollow(FOLLOW_propertyURI_in_inverseProperty888);
			propertyURI();
			state._fsp--;
			if (state.failed) return ;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
			if ( state.backtracking>0 ) { memoize(input, 12, inverseProperty_StartIndex); }

		}
		return ;
	}
	// $ANTLR end "inverseProperty"



	// $ANTLR start "individualURI"
	// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:260:1: individualURI : ( PREFIX_NAME CHAR_CLASS | CHAR_CLASS | PREFIX_NAME CHAR_PROPERTY | CHAR_PROPERTY );
	public final void individualURI() throws RecognitionException {
		int individualURI_StartIndex = input.index();

		try {
			if ( state.backtracking>0 && alreadyParsedRule(input, 13) ) { return ; }

			// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:262:3: ( PREFIX_NAME CHAR_CLASS | CHAR_CLASS | PREFIX_NAME CHAR_PROPERTY | CHAR_PROPERTY )
			int alt17=4;
			switch ( input.LA(1) ) {
			case PREFIX_NAME:
				{
				int LA17_1 = input.LA(2);
				if ( (LA17_1==CHAR_CLASS) ) {
					alt17=1;
				}
				else if ( (LA17_1==CHAR_PROPERTY) ) {
					alt17=3;
				}
				else {
					if (state.backtracking>0) {state.failed=true; return ;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 17, 1, input);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}
				}
				break;
			case CHAR_CLASS:
				{
				alt17=2;
				}
				break;
			case CHAR_PROPERTY:
				{
				alt17=4;
				}
				break;
			default:
				if (state.backtracking>0) {state.failed=true; return ;}
				NoViableAltException nvae =
					new NoViableAltException("", 17, 0, input);
				throw nvae;
			}
			switch (alt17) {
				case 1 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:262:5: PREFIX_NAME CHAR_CLASS
					{
					match(input,PREFIX_NAME,FOLLOW_PREFIX_NAME_in_individualURI905); if (state.failed) return ;
					match(input,CHAR_CLASS,FOLLOW_CHAR_CLASS_in_individualURI908); if (state.failed) return ;
					}
					break;
				case 2 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:263:6: CHAR_CLASS
					{
					match(input,CHAR_CLASS,FOLLOW_CHAR_CLASS_in_individualURI915); if (state.failed) return ;
					}
					break;
				case 3 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:264:5: PREFIX_NAME CHAR_PROPERTY
					{
					match(input,PREFIX_NAME,FOLLOW_PREFIX_NAME_in_individualURI921); if (state.failed) return ;
					match(input,CHAR_PROPERTY,FOLLOW_CHAR_PROPERTY_in_individualURI924); if (state.failed) return ;
					}
					break;
				case 4 :
					// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:265:6: CHAR_PROPERTY
					{
					match(input,CHAR_PROPERTY,FOLLOW_CHAR_PROPERTY_in_individualURI931); if (state.failed) return ;
					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
			if ( state.backtracking>0 ) { memoize(input, 13, individualURI_StartIndex); }

		}
		return ;
	}
	// $ANTLR end "individualURI"

	// $ANTLR start synpred6_ManchOwlParserCheck
	public final void synpred6_ManchOwlParserCheck_fragment() throws RecognitionException {
		// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:191:3: ( ( NOT_LABEL )? ( OPEN_BRACE restriction CLOSE_BRACE | restriction ) )
		// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:191:3: ( NOT_LABEL )? ( OPEN_BRACE restriction CLOSE_BRACE | restriction )
		{
		// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:191:3: ( NOT_LABEL )?
		int alt18=2;
		int LA18_0 = input.LA(1);
		if ( (LA18_0==NOT_LABEL) ) {
			alt18=1;
		}
		switch (alt18) {
			case 1 :
				// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:191:4: NOT_LABEL
				{
				match(input,NOT_LABEL,FOLLOW_NOT_LABEL_in_synpred6_ManchOwlParserCheck490); if (state.failed) return ;
				}
				break;

		}

		// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:191:16: ( OPEN_BRACE restriction CLOSE_BRACE | restriction )
		int alt19=2;
		int LA19_0 = input.LA(1);
		if ( (LA19_0==OPEN_BRACE) ) {
			alt19=1;
		}
		else if ( (LA19_0==CHAR_PROPERTY||LA19_0==INVERSE_LABEL||LA19_0==PREFIX_NAME) ) {
			alt19=2;
		}
		else {
			if (state.backtracking>0) {state.failed=true; return ;}
			NoViableAltException nvae =
				new NoViableAltException("", 19, 0, input);
			throw nvae;
		}
		switch (alt19) {
			case 1 :
				// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:191:17: OPEN_BRACE restriction CLOSE_BRACE
				{
				match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_synpred6_ManchOwlParserCheck495); if (state.failed) return ;
				pushFollow(FOLLOW_restriction_in_synpred6_ManchOwlParserCheck497);
				restriction();
				state._fsp--;
				if (state.failed) return ;
				match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_synpred6_ManchOwlParserCheck499); if (state.failed) return ;
				}
				break;
			case 2 :
				// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:191:54: restriction
				{
				pushFollow(FOLLOW_restriction_in_synpred6_ManchOwlParserCheck503);
				restriction();
				state._fsp--;
				if (state.failed) return ;
				}
				break;

		}

		}

	}
	// $ANTLR end synpred6_ManchOwlParserCheck

	// $ANTLR start synpred8_ManchOwlParserCheck
	public final void synpred8_ManchOwlParserCheck_fragment() throws RecognitionException {
		// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:192:20: ( OPEN_BRACE atomic CLOSE_BRACE )
		// C:\\Users\\Alfonso\\Documents\\Documenti ingegneria\\Tesi\\AntlerResource\\ManchOwlParserCheck.g:192:20: OPEN_BRACE atomic CLOSE_BRACE
		{
		match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_synpred8_ManchOwlParserCheck517); if (state.failed) return ;
		pushFollow(FOLLOW_atomic_in_synpred8_ManchOwlParserCheck519);
		atomic();
		state._fsp--;
		if (state.failed) return ;
		match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_synpred8_ManchOwlParserCheck521); if (state.failed) return ;
		}

	}
	// $ANTLR end synpred8_ManchOwlParserCheck

	// Delegated rules

	public final boolean synpred8_ManchOwlParserCheck() {
		state.backtracking++;
		int start = input.mark();
		try {
			synpred8_ManchOwlParserCheck_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred6_ManchOwlParserCheck() {
		state.backtracking++;
		int start = input.mark();
		try {
			synpred6_ManchOwlParserCheck_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		state.backtracking--;
		state.failed=false;
		return success;
	}



	public static final BitSet FOLLOW_description_in_classExpression397 = new BitSet(new long[]{0x0000000000000000L});
	public static final BitSet FOLLOW_EOF_in_classExpression403 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_conjunction_in_description422 = new BitSet(new long[]{0x0000000020000002L});
	public static final BitSet FOLLOW_OR_LABEL_in_description428 = new BitSet(new long[]{0x000000009A080140L});
	public static final BitSet FOLLOW_conjunction_in_description430 = new BitSet(new long[]{0x0000000020000002L});
	public static final BitSet FOLLOW_classURI_in_conjunction453 = new BitSet(new long[]{0x0000000800000000L});
	public static final BitSet FOLLOW_THAT_LABEL_in_conjunction455 = new BitSet(new long[]{0x000000009A080140L});
	public static final BitSet FOLLOW_primary_in_conjunction460 = new BitSet(new long[]{0x0000000000000012L});
	public static final BitSet FOLLOW_AND_LABEL_in_conjunction468 = new BitSet(new long[]{0x000000009A080140L});
	public static final BitSet FOLLOW_primary_in_conjunction470 = new BitSet(new long[]{0x0000000000000012L});
	public static final BitSet FOLLOW_NOT_LABEL_in_primary490 = new BitSet(new long[]{0x0000000088080100L});
	public static final BitSet FOLLOW_OPEN_BRACE_in_primary495 = new BitSet(new long[]{0x0000000080080100L});
	public static final BitSet FOLLOW_restriction_in_primary497 = new BitSet(new long[]{0x0000000000000400L});
	public static final BitSet FOLLOW_CLOSE_BRACE_in_primary499 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_restriction_in_primary503 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_NOT_LABEL_in_primary512 = new BitSet(new long[]{0x0000000098000040L});
	public static final BitSet FOLLOW_OPEN_BRACE_in_primary517 = new BitSet(new long[]{0x0000000098000040L});
	public static final BitSet FOLLOW_atomic_in_primary519 = new BitSet(new long[]{0x0000000000000400L});
	public static final BitSet FOLLOW_CLOSE_BRACE_in_primary521 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_atomic_in_primary525 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_propertyURI_in_propertyExpression546 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_inverseProperty_in_propertyExpression552 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_propertyExpression_in_restriction572 = new BitSet(new long[]{0x0000002305410000L});
	public static final BitSet FOLLOW_SOME_LABEL_in_restriction581 = new BitSet(new long[]{0x000000009A080140L});
	public static final BitSet FOLLOW_primary_in_restriction583 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_ONLY_LABEL_in_restriction594 = new BitSet(new long[]{0x000000009A080140L});
	public static final BitSet FOLLOW_primary_in_restriction596 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_VALUE_LABEL_in_restriction607 = new BitSet(new long[]{0x0000000080000140L});
	public static final BitSet FOLLOW_individualURI_in_restriction609 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_SELF_LABEL_in_restriction620 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_MIN_LABEL_in_restriction630 = new BitSet(new long[]{0x0000000000004000L});
	public static final BitSet FOLLOW_nonNegativeInteger_in_restriction632 = new BitSet(new long[]{0x0000000400000000L});
	public static final BitSet FOLLOW_SPACE_in_restriction634 = new BitSet(new long[]{0x000000009A080140L});
	public static final BitSet FOLLOW_primary_in_restriction636 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_MAX_LABEL_in_restriction647 = new BitSet(new long[]{0x0000000000004000L});
	public static final BitSet FOLLOW_nonNegativeInteger_in_restriction649 = new BitSet(new long[]{0x0000000400000000L});
	public static final BitSet FOLLOW_SPACE_in_restriction651 = new BitSet(new long[]{0x000000009A080140L});
	public static final BitSet FOLLOW_primary_in_restriction653 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_EXACTLY_LABEL_in_restriction664 = new BitSet(new long[]{0x0000000000004000L});
	public static final BitSet FOLLOW_nonNegativeInteger_in_restriction666 = new BitSet(new long[]{0x0000000400000000L});
	public static final BitSet FOLLOW_SPACE_in_restriction668 = new BitSet(new long[]{0x000000009A080140L});
	public static final BitSet FOLLOW_primary_in_restriction670 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_MIN_LABEL_in_restriction681 = new BitSet(new long[]{0x0000000000004000L});
	public static final BitSet FOLLOW_nonNegativeInteger_in_restriction683 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_MAX_LABEL_in_restriction694 = new BitSet(new long[]{0x0000000000004000L});
	public static final BitSet FOLLOW_nonNegativeInteger_in_restriction696 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_EXACTLY_LABEL_in_restriction707 = new BitSet(new long[]{0x0000000000004000L});
	public static final BitSet FOLLOW_nonNegativeInteger_in_restriction709 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_classURI_in_atomic728 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_OPEN_CURLY_BRACE_in_atomic735 = new BitSet(new long[]{0x0000000080000140L});
	public static final BitSet FOLLOW_individualList_in_atomic737 = new BitSet(new long[]{0x0000000000000800L});
	public static final BitSet FOLLOW_CLOSE_CURLY_BRACE_in_atomic739 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_OPEN_BRACE_in_atomic747 = new BitSet(new long[]{0x000000009A080140L});
	public static final BitSet FOLLOW_description_in_atomic750 = new BitSet(new long[]{0x0000000000000400L});
	public static final BitSet FOLLOW_CLOSE_BRACE_in_atomic752 = new BitSet(new long[]{0x0000000008000002L});
	public static final BitSet FOLLOW_PREFIX_NAME_in_classURI769 = new BitSet(new long[]{0x0000000000000040L});
	public static final BitSet FOLLOW_CHAR_CLASS_in_classURI772 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_CHAR_CLASS_in_classURI780 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_individualURI_in_individualList800 = new BitSet(new long[]{0x0000000400001002L});
	public static final BitSet FOLLOW_COMMA_in_individualList809 = new BitSet(new long[]{0x0000000400000000L});
	public static final BitSet FOLLOW_SPACE_in_individualList811 = new BitSet(new long[]{0x0000000080000140L});
	public static final BitSet FOLLOW_COMMA_in_individualList814 = new BitSet(new long[]{0x0000000080000140L});
	public static final BitSet FOLLOW_SPACE_in_individualList816 = new BitSet(new long[]{0x0000000080000140L});
	public static final BitSet FOLLOW_individualURI_in_individualList820 = new BitSet(new long[]{0x0000000400001002L});
	public static final BitSet FOLLOW_DIGITS_in_nonNegativeInteger840 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_PREFIX_NAME_in_propertyURI858 = new BitSet(new long[]{0x0000000000000100L});
	public static final BitSet FOLLOW_CHAR_PROPERTY_in_propertyURI861 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_CHAR_PROPERTY_in_propertyURI868 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_INVERSE_LABEL_in_inverseProperty886 = new BitSet(new long[]{0x0000000080000100L});
	public static final BitSet FOLLOW_propertyURI_in_inverseProperty888 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_PREFIX_NAME_in_individualURI905 = new BitSet(new long[]{0x0000000000000040L});
	public static final BitSet FOLLOW_CHAR_CLASS_in_individualURI908 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_CHAR_CLASS_in_individualURI915 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_PREFIX_NAME_in_individualURI921 = new BitSet(new long[]{0x0000000000000100L});
	public static final BitSet FOLLOW_CHAR_PROPERTY_in_individualURI924 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_CHAR_PROPERTY_in_individualURI931 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_NOT_LABEL_in_synpred6_ManchOwlParserCheck490 = new BitSet(new long[]{0x0000000088080100L});
	public static final BitSet FOLLOW_OPEN_BRACE_in_synpred6_ManchOwlParserCheck495 = new BitSet(new long[]{0x0000000080080100L});
	public static final BitSet FOLLOW_restriction_in_synpred6_ManchOwlParserCheck497 = new BitSet(new long[]{0x0000000000000400L});
	public static final BitSet FOLLOW_CLOSE_BRACE_in_synpred6_ManchOwlParserCheck499 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_restriction_in_synpred6_ManchOwlParserCheck503 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_OPEN_BRACE_in_synpred8_ManchOwlParserCheck517 = new BitSet(new long[]{0x0000000098000040L});
	public static final BitSet FOLLOW_atomic_in_synpred8_ManchOwlParserCheck519 = new BitSet(new long[]{0x0000000000000400L});
	public static final BitSet FOLLOW_CLOSE_BRACE_in_synpred8_ManchOwlParserCheck521 = new BitSet(new long[]{0x0000000000000002L});
}
